package com.ruoyi.trainingManagement.service;

import java.util.List;
import com.ruoyi.trainingManagement.domain.ClassScheduleDetailed;

/**
 * 课程完整上课时间Service接口
 *
 * @author chenxl
 * @date 2025-07-07
 */
public interface IClassScheduleDetailedService
{
    /**
     * 查询课程完整上课时间
     *
     * @param id 课程完整上课时间主键
     * @return 课程完整上课时间
     */
    public ClassScheduleDetailed selectClassScheduleDetailedById(String id);

    /**
     * 查询课程完整上课时间列表
     *
     * @param classScheduleDetailed 课程完整上课时间
     * @return 课程完整上课时间集合
     */
    public List<ClassScheduleDetailed> selectClassScheduleDetailedList(ClassScheduleDetailed classScheduleDetailed);

    /**
     * 新增课程完整上课时间
     *
     * @param classScheduleDetailed 课程完整上课时间
     * @return 结果
     */
    public int insertClassScheduleDetailed(ClassScheduleDetailed classScheduleDetailed);

    /**
     * 修改课程完整上课时间
     *
     * @param classScheduleDetailed 课程完整上课时间
     * @return 结果
     */
    public int updateClassScheduleDetailed(ClassScheduleDetailed classScheduleDetailed);

    /**
     * 批量删除课程完整上课时间
     *
     * @param ids 需要删除的课程完整上课时间主键集合
     * @return 结果
     */
    public int deleteClassScheduleDetailedByIds(String[] ids);

    /**
     * 删除课程完整上课时间信息
     *
     * @param id 课程完整上课时间主键
     * @return 结果
     */
    public int deleteClassScheduleDetailedById(String id);

    /**
     * 根据学生ID列表查询所有对应的课程表信息
     *
     * @param studentIds 学生ID列表
     * @return 课程表详细信息列表
     */
    List<ClassScheduleDetailed> selectClassSchedulesByStudentIds(List<String> studentIds);

    List<ClassScheduleDetailed> selectAllByCourseScheduleDetailsId(String courseScheduleDetailsId);
}
